﻿using System;
using System.IO;

namespace MEF_Test.Bricks.Subtitles
{
    using MEF_Test.Contracts;

    public abstract class SubtitleViewModelBase : ISubtitleViewModel
    {
        public ISubtitleFormatHandler SubtitleFormatHandler { get; protected set; }


        //#region Constants and Fields

        ///// <summary>
        ///// The backing field for the <see cref="NativeSubtitleObject"/> property.
        ///// </summary>
        //private readonly object _nativeSubtitleObject;

        //#endregion

        //#region Constructors and Destructors

        ///// <summary>
        ///// Initializes a new instance of the <see cref="SubtitleViewModel"/> class.
        ///// </summary>
        ///// <param name="nativeObjectSubtitle">The native object subtitle.</param>
        //public SubtitleViewModel(object nativeObjectSubtitle)
        //{
        //    if (nativeObjectSubtitle == null)
        //    {
        //        throw new ArgumentNullException("nativeObjectSubtitle");
        //    }
        //    _nativeSubtitleObject = nativeObjectSubtitle;
        //}

        //#endregion

        //#region Properties

        ///// <summary>
        ///// Gets or sets the name.
        ///// </summary>
        ///// <value>The subtitle name.</value>
        //public string Name { get; set; }

        //#endregion

        /// <summary>
        /// Gets the content of the actual subtitles file.
        /// </summary>
        /// <returns>the text-based content of the subtitles file.</returns>
        public abstract Stream GetSubtitleFile();
    }
}